/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.adsi.logica;

import com.adsi.modelo.TiposDocumentos;
import com.adsi.persistencia.ITiposDocumentosDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author Estudiante
 */
@Stateless
public class TiposDocumentosLogica implements TiposDocumentosLogicaLocal {

    @EJB
    private ITiposDocumentosDAO tiposdocumentosDAO;

    @Override
    public void registrar(TiposDocumentos tiposdocumento) throws Exception {
        TiposDocumentos objTiposDocumentos = tiposdocumentosDAO.ConsultarPorCod(tiposdocumento.getTdocCodigo());
        if (objTiposDocumentos != null) {
            throw new Exception("El Tipo De Documento A Registrar Ya Existe");

        }
        if (tiposdocumento.getTdocCodigo() == null) {
            throw new Exception("El Codigo Es Obligatorio");

        }
        if (tiposdocumento.getTdocNombre() == null) {
            throw new Exception("El Nombre Es Obligatorio");

        }

        tiposdocumentosDAO.registrar(tiposdocumento);

    }

    @Override
    public void modificar(TiposDocumentos tiposdocumento) throws Exception {

        TiposDocumentos objTiposDocumentos = tiposdocumentosDAO.ConsultarPorCod(tiposdocumento.getTdocCodigo());
        if (objTiposDocumentos == null) {
            throw new Exception("El Tipo De Documento A Registrar No Existe");

        }
        if (tiposdocumento.getTdocCodigo() == null) {
            throw new Exception("El Codigo Es Obligatorio");

        }
        if (tiposdocumento.getTdocNombre() == null) {
            throw new Exception("El Nombre Es Obligatorio");

        }

        tiposdocumentosDAO.modificar(tiposdocumento);

    }

    @Override
    public void eliminar(TiposDocumentos tiposdocumento) throws Exception {
        TiposDocumentos objTiposDocumentos = tiposdocumentosDAO.ConsultarPorCod(tiposdocumento.getTdocCodigo());
        if (objTiposDocumentos == null) {
            throw new Exception("El Tipo De Documento A Eliminar No Existe");

        }
        tiposdocumentosDAO.eliminar(objTiposDocumentos);
    }

    @Override
    public List<TiposDocumentos> consultar() throws Exception {
        return tiposdocumentosDAO.consultar();
    }

    @Override
    public TiposDocumentos ConsultarPorCod(Long codigo) throws Exception {
        if (codigo == null) {
            throw new Exception("El Codigo Es Obligatorio");

        }
        return tiposdocumentosDAO.ConsultarPorCod(codigo);
    }

}
